package com.xiaomi.controller;

import com.xiaomi.pojo.Goods;
import com.xiaomi.pojo.GoodsType;
import com.xiaomi.service.GoodsService;
import com.xiaomi.service.GoodsTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @ClassName GoodsTypeService
 * @Author xiao宋
 * @Date 10:18  2022/9/14
 * @Version 1.0
 * @Description TODO
 */
@Controller
@RequestMapping("/goodsType")
public class GoodsTypeController {
    @Autowired
    GoodsTypeService goodsTypeService;
    @Autowired
    GoodsService goodsService;

    /**
     * 获取等级 1 的商品类
     *
     * @throws Exception
     * @ResponseBody（依赖于 jackson， fastjson）: 把返回值以流的形式响应前端; String ，原样返回； 如果为java对象，转换为json
     * @RequestBoby（依赖于 jackson， fastjson）： 把前端传过来的 json数据转换为 java对象
     */
    @ResponseBody
    @RequestMapping("/goodsOneList")
    public List goodstypelist() {
//        获取等级为  1  的商品列表
        List<GoodsType> goodstypelist = goodsTypeService.getGoodsType1();
//        String json = JSON.toJSONString(goodstypelist);
//        System.out.println(goodstypelist);
        return goodstypelist;
    }
//    ***************************************************************************************
//    ***************************************************************************************

    /**
     * 查看商品分类。类数。分类数。
     *
     * @return
     */
    @RequestMapping("/adminShowGoodsType")
    public ModelAndView showGoodsType() {
        ModelAndView mv = new ModelAndView();

        List<GoodsType> goodsTypeList = goodsTypeService.showGoodsType();
        if (goodsTypeList != null) {
            mv.addObject("goodsTypeList", goodsTypeList);
        }
//        mv.setViewName("forward:/admin/addGoodsType.jsp");
        mv.setViewName("forward:/admin/showGoodsType.jsp");
        return mv;
    }

    /**
     * 添加商品分类时候需要显示当前的类型，好为选择属于谁做准备
     * @return
     */
    @RequestMapping("/adminGetGoodsType")
    public ModelAndView getGoodsType() {
        List<GoodsType> goodsTypeList = goodsTypeService.showGoodsType();
        ModelAndView mv = new ModelAndView();
        mv.addObject("goodsTypeList", goodsTypeList);
        mv.setViewName("forward:/admin/addGoodsType.jsp");
        return mv;
    }

    /**
     * 增加商品分类  增加 ！！
     * @return
     */
    @RequestMapping("/adminAddGoodsType")
    public void addGoodsType(String typename, String goodsParent) {
        //如果没写类型。视为无上级。
        if (goodsParent == null) {
            goodsParent = "0";
        }
        int num = Integer.parseInt(goodsParent);
        System.out.println("typename为： "+typename);
        System.out.println("goodsParent： "+goodsParent);
//        把数据添加到数据库
        goodsTypeService.addGoodsType(num, typename);
        getGoodsType();
    }


}
